<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>    
<%@ include file="/include/jsp/baseContent.jsp"%>    
<div style="width:100%; border:1px dashed red; height:500px; margin:0 auto 0 auto;">
	<h1>이곳에서 DB 테스트를 실시합니다.</h1>
	<h3>사원정보목록</h3>
	<input type="button" value="table정보등록" onclick="reg()">
	<table style="width:100%;border:1px dashed orange;">				
			<tr>
				<td>번호</td>
				<td>이름</td>
				<td>비밀번호</td>
			</tr>
			<%-- 
				기존방식대로는 Action클래스에서 request.setAttribute로 DAO에서 불러온 DB의 내용을 저장하고
				request.getAttribute로 JSP페이지에서 값을 불러오는 방식을 사용했었는데 스트럿츠2에서는
			    DAO에서 불러온 값을 FilterDispatcher가 먼저 처리해버리기 때문에 JSP에서 기존대로 값을 불러올
			        길이 없다. 그래서 JSP의 EL표현식이나 JSTL을 사용해서 값을 불러오게 되는데 맨위에서
			         taglib prefix="s" uri="/struts-tags" 디렉티브를 선언해줬다.
			    's'로 시작되는 스트럿츠2 태그를 사용하겠다고 선언했고 요놈을 관리하는 라이브러리는
			    /WEB-INF/ognl-2.6.11.jar임.
			    
			       어쨋건..ArrayList를 출력해주려면 <s:iterator>를 사용하면 집합형 클래스의 값을 불러올수
			       있게된다. 
			   
			   value ==> ListAction.java에서 list=CustomDAO.selectAllData();
			   			 를 뜻함. ArrayList<CustomDTO> list로 변수명을 선언해줬는데 반드시 일치하게 써야된다.
			   			(하지만 실제로 호출하는건 ListAction.java의 getter/setter를 호출한다.변수를
			   			 직접 호출하는것이 아니라고 ListAction.java에서 이유를 썼음!)
			   			
			   <s:property> ==> 값을 하나씩 불러올때 쓰이는 태그임.
			   					여기선 <s:iterator>안에 <s:property>가 있으므로
			   					for문안에서 ArrayList의 저장된 값들만큼 돌아가는것과 같은 결과임.
			   					
			   					value ==> CustomDTO의 변수값과 일치해야된다.
			   							(여기서는 ArrayList<CustomDTO>로 CustomDTO클래스에 DB의 각 컬럼명에 맞는
			   							 값들을 채워넣었기 때문에..)
			
				이렇게 해서 전체 리스트를 출력하게 됨!
				
				나머지 insert,update,delete도 돌아가는 순서는 거의 똑같음! 일단 전체 리스트 출력부터 완벽히 이해하길 바라오
			 --%>		 
			<s:iterator value="list">
				<tr>
					<td><s:property value="seq"/></td>
					<td><s:property value="name"/></td>
					<td><s:property value="password"/></td>					
					<td align="center">
						<a href="http://localhost:8811/Struts2IBA/Pages/updatelist.action?no=${ no }">수정</a>
						<a href="http://localhost:8811/Struts2IBA/Pages/delete.action?no=${ no }">삭제</a>
					</td>
				</tr>
			</s:iterator>
	</table>	
</div> 